#include "mysql_chat_session_member.hpp"

void InsertOne(const xu::ManageSession::ptr & ms)
{
    xu::Session s1("会话id1","用户id1");
    xu::Session s2("会话id1","用户id2");
    xu::Session s3("会话id2","用户id3");
    ms->Insert(s1);
    ms->Insert(s2);
    ms->Insert(s3);
}

void InsertAll(const xu::ManageSession::ptr & ms)
{
    xu::Session s1("会话id3","用户id4");
    xu::Session s2("会话id3","用户id5");
    xu::Session s3("会话id3","用户id6");
    std::vector<xu::Session> s_list({s1,s2,s3});
    ms->Insert(s_list);
}

void DeleteOne(const xu::ManageSession::ptr & ms)
{
    xu::Session s1("会话id2","用户id3");
    ms->Delete(s1);
}

void DeleteAll(const xu::ManageSession::ptr & ms)
{
    ms->Delete("会话id1");
}

void Select(const xu::ManageSession::ptr & ms)
{
    auto res = ms->SelectUserId("会话id3");
    for(auto id : res)
    {
        std::cout<<id<<std::endl;
    }
}

int main()
{
    InitLog(false);
    auto db = xu::MysqlClientFactory::Create("root","xzyxzy99","xu","127.0.0.1","utf8");
    xu::ManageSession::ptr ms = std::make_shared<xu::ManageSession>(db);
    //InsertOne(ms);
    //InsertAll(ms);
    //DeleteOne(ms);
    //DeleteAll(ms);
    Select(ms);
    return 0;
}